Improved Algorithms for Maintaining DFS Tree in Undirected Graphs

نویسندگان

  • Lijie Chen
  • Ran Duan
  • Ruosong Wang
  • Hanrui Zhang
چکیده

Depth first search (DFS) tree is one of the most well-known data structures for designing efficient graph algorithms. Given an undirected graph G = (V,E) with n vertices and m edges, the textbook algorithm takes O(n + m) time to construct a DFS tree. In this paper, we study the problem of maintaining a DFS tree when the graph is undergoing updates. Formally, we show the following results. • Incremental DFS tree: Given any arbitrary online sequence of edge or vertex insertions, we can report a DFS tree in O(n) worst case time per operation, and O ( min{m logn + n log n, n} ) preprocessing time. • Fault tolerant DFS tree: There exists a data structure of size O(m logn), such that given any set F of failed vertices or edges, it can report a DFS tree of the graph G \ F in O(n|F| log n) time. • Fully dynamic DFS tree: Given any arbitrary online sequence of edge or vertex updates, we can report a DFS tree in O( √ nm log n) worst case time per operation. • Offline Incremental DFS tree: There exists a data structure with construction time O ( min{m logn + n log n, n} ) such that given any set I of inserted vertices or edges, a DFS tree of the graph G + I (denotes the graph obtained applying the insertions in I to G) can be reported in O(n + |I|) time. Our result for incremental DFS tree improves the previous O(n log n) worst case update time by Baswana et al. [1], and matches the trivial Ω(n) lower bound when it is required to explicitly output the DFS tree. Our other results also improve the corresponding state-of-the-art results by Baswana et al. [1] as well. Our work builds on the framework of the breakthrough work by Baswana et al. [1], together with a novel use of a tree-partition lemma by Duan and Zhang [8], and the celebrated fractional cascading technique by Chazelle and Guibas [5, 6].

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Incremental DFS algorithms: a theoretical and experimental study

Depth First Search (DFS) tree is a fundamental data structure used for solving various graph problems. For a given graph G = (V,E) on n vertices and m edges, a DFS tree can be built in O(m + n) time. In the last 20 years, a few algorithms have been designed for maintaining a DFS tree efficiently under insertion of edges. For undirected graphs, there are two prominent algorithms, namely, ADFS1 a...

متن کامل

Dynamic DFS in Undirected Graphs: breaking the O(m) barrier

Given an undirected graph G = (V, E) on n vertices and m edges, we address the problem of maintaining a DFS tree when the graph is undergoing updates (insertion and deletion of vertices or edges). We present the following results for this problem. 1. Fault tolerant DFS tree: There exists a data structure of size˜O(m) 1 such that given any set F of failed vertices or edges, a DFS tree of the gra...

متن کامل

Incremental Algorithm for Maintaining DFS Tree for Undirected Graphs

Depth First Search (DFS) tree is a fundamental data structure for graphs used in solving various algorithmic problems. However, very few results are known for maintaining DFS tree in a dynamic environment insertion or deletion of edges. The only non-trivial result for this problem is by Franciosa et al. [4]. They showed that, for a directed acyclic graph on n vertices, a DFS tree can be maintai...

متن کامل

Dynamic DFS Tree in Undirected Graphs: breaking the O(m) barrier

Depth first search (DFS) tree is a fundamental data structure for solving various problems in graphs. It is well known that it takes O(m+ n) time to build a DFS tree for a given undirected graph G = (V,E) on n vertices and m edges. We address the problem of maintaining a DFS tree when the graph is undergoing updates (insertion and deletion of vertices or edges). We present the following results...

متن کامل

DFS Tree Construction: Algorithms and Characterizations

The Depth First Search (DF.S.) algori.thm i§. one of the basic techniques which is used in a very large variety of graph algorithms. Every -application' of the DFS involves, beside traversing the graph, cOnstructing a special structured tree, called a DFS tree. In this paper, we give a complete characterization of all the graphs in which every spanning tree is ~ 'DFS tree. These graphs are call...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1607.04913  شماره 

صفحات  -

تاریخ انتشار 2016